hwio = require('hwluaio')

function device_open()
	local ret = hwio.usb_open()
	if ret < 0 then
		print("Fail to open usb device")
		return false
	end
	
	return true
end

function device_close()
	local ret = hwio.usb_close()
	if ret < 0 then
		print("Fail to close usb device")
		return false
	end
	
	return true
end

port_mask = {[0]=0x01, 0x02, 0x04, 0x08}

device_open()
--[[
ret = hwio.port_write(0)
if ret < 0 then
	print("io_init : hwio_port_write ret = ", ret)
	return false
end

ret = hwio.port_dir(0xff)
if ret < 0 then
	print("io_init : hwio_port_dir ret = ", ret)
	return false
end

for i=0, 8 do
	hwio.port_write(0x5)
	print("i = " .. i)
	hwio.port_write(0xa)
end
--]]
--[[
hwio.bit_dir(0, 1)
hwio.bit_dir(1, 1)
hwio.bit_dir(2, 1)
hwio.bit_dir(3, 1)

for i=0, 8 do
	hwio.set_bit(0)
	hwio.set_bit(1)
	hwio.set_bit(2)
	hwio.set_bit(3)
	print("i = " .. i)
	hwio.clr_bit(0)
	hwio.clr_bit(1)
	hwio.clr_bit(2)
	hwio.clr_bit(3)
end
--]]

hwio.bit_dir(0, 1)
hwio.bit_dir(1, 1)
hwio.bit_dir(2, 0)
hwio.bit_dir(3, 1)

hwio.spi_init(7)
ret = hwio.spi_byte_rw(0x55)
print(string.format("ret1 = %02x", ret))

ret = hwio.spi_byte_rw(0xaa)
print(string.format("ret2 = %02x", ret))


device_close()